Codified audio language modeling learns useful representations for music information retrieval
https://scrapbox.io/files/644104acbb80ed001ca897cb.png
#ismir
#mir
#転移学習
#audio
日付
2023/4/20
論文リンク
https://arxiv.org/abs/2107.05677
文献情報
Codified audio language modeling learns useful representations for music information retrieval
Rodrigo Castellon, Chris Donahue, Percy Liang
ISMIR 2021
実装
Code: https://github.com/p-lambda/jukemir
Containers: https://hub.docker.com/orgs/jukemir
All experiments reproducible on the CodaLab platform:
https://worksheets.codalab.org/worksheets/0x7c5afa6f88bd4ff29fec75035332a583
要は何?
音楽生成モデルであるJukeboxの中間特徴量を用いて音楽識別の各タスクを解いた.
Music tagging, Genre recognition, Key detection, Emotion recognitionのタスクに対し,各タスクのSoTAとcompetitiveな性能
問題意識と解決策
音楽生成モデルは音楽の特徴を捉えていそう -> その特徴は生成以外に認識にも使えんじゃね?という発想
yamamoto.icon MIRの識別タスクに在するデータセット不足問題を解決しうるとは思うが,さらっと触れる程度
手法
CALM pretraining:事前学習
https://scrapbox.io/files/64410e96024789001c4f3023.png
1. コード化 (codify);低次元の離散表現に変換
2. デコーダー(=条件付き言語モデル($ p(audio|metadata)))の学習.Jukeboxの場合だと歌詞だったりジャンルだったりアーティストだったり
3. デコード;デコーダーにコード表現を入力し音を生成(↑の言語モデルに基づき)
yamamoto.icon 要はVQ-VAE.Jukeboxの場合デコーダーにはWaveNetではなく5BのTransformer decoderを適用
Jukeboxは120万曲に対して事前学習
Probing:転移学習
https://scrapbox.io/files/64410ea0a01407001b94e6c3.png
重みを固定したデコーダーの中間層からの出力を使う.(各Transformer layerの出力は4800次元)
それを各タスクのProjection層に入力し最終出力を得る
入力
事前学習では24秒までの長さを入力としていたため,(コード化すると8192次元)24秒にチャンク
どのレイヤーを使うか
24秒の音の出力サイズは24 × 345 × 72 × 4800 で,この時点で10GB(float32)を消費するため,以下の戦略で削減.
時間平均プーリングをする.(345x24 -> 1)
1つのレイヤーの出力のみを扱う.36層目を選択.(72->1)↓により,最終層のパフォーマンスより中程の層のパフォーマンスがいいことを実験的に確認している.
https://scrapbox.io/files/6441105b7b1ff0001b6ffea0.png
実験とその結果
4つの音楽識別タスクで既存手法とCompetitiveな性能
https://scrapbox.io/files/644113ab5d4cab001cb52d45.png 
Music tagging(Tags)-> MagnaTagATuneの最頻50タグのTagging,train:dev:test=12:1:3の割合で分割,AUCとAverage precisionで評価
Genre recognition(Genre)-> GTZANの10ジャンル識別(Fault-filtered split (https://arxiv.org/pdf/1507.04761.pdf) という問題のあったトラックを除去して分割する手法を採用)
Key detection (Key)-> Giantsteps datasetのminor/major各12の調,計24の調を識別
Emotion recognition(Emotion)-> Emomusic dataset.クリップごとのArousal(覚醒度)とValence(感情価)の回帰問題.
比較手法
Hand-craft: Chroma, MFCC
Training: Choi (音楽識別のCNN) ,MusiCNN(カーネル形状を考慮したCNN)
Contrastive: CLMR
各タスクのSoTA手法: Pre-trained (転移学習を適用したもの)From Scratch(そのデータセットのみを利用した学習)
Discussion
Competitiveではあるものの,"holistic"な比較ではないと主張
例えば同じ教師なし表現学習であるCLMRはJukeboxよりも遥かに少ないデータ量で学習
Jukeboxは他の音楽識別表現よりも遥かによい性能
キー情報特化でないながらも Chromaより高い性能
やはりデータ数が正義?
上手く行った理由として著者らが主張
コメント
若干力技感も否めないが,音楽系タスクは学習用のデータ量が不足しているので,この方策は今後流行っていきそう.
本研究の再現には12GBのGPUがあればおk -> そこまで高コストというほどでもない?
MLMを導入したモデルだとより精度が上がりそう(MERT?)
レイヤーの選択についてはTranscription等,高次(意味的)よりも低次の特徴が重要なタスクだと結果が変わるかもしれない.
WavLM等が導入しているような各レイヤーの重み付けを導入すると効果が上がりそう(メモリには優しくなさそう)